package net.csdn.business.common.domain.request.webhook;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.List;

/**
 * @ClassName UpdateWebhookConfigDTO
 * @Description 更新webhook配置信息对象DTO
 * @Author zhangyl
 * @Date 2023/4/23 16:43
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class UpdateWebhookConfigDTO implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * objectId
     */
    @NotBlank(message = "id不能为空")
    private String id;

    /**
     * webhook通知url
     */
    @NotBlank(message = "notifyUrl不能为空")
    private String notifyUrl;
    /**
     * 加密密钥
     */
    private String secret;
    /**
     * 是否启用ssl验证：1：启用 0：未启用
     */
    private Boolean enableSslVeri=false;
    /**
     * 是否激活：1：激活 0：未激活
     */
    private Boolean isActive=true;
    /**
     * 请求体类型：1：application/json 2：application/x-www-form-urlencoded
     */
    @NotNull(message = "reqBodyType不能为空")
    @Min(value=1,message = "reqBodyType合法值为1-2")
    @Max(value=2,message = "reqBodyType合法值为1-2")
    private Integer reqBodyType;

    //@NotBlank(message = "userId不能为空")
    private String userId;
    /**
     * webhook对应的事件
     */
    @NotNull(message = "events事件不能为空")
    private List<String> events;
}

